const path = require('path')  //node.js语法

//导入热更新的第二步
const htmlWebpackPlugin = require('html-webpack-plugin')

//vue-loader 15版本问题
//const VueLoaderPlugin = require('vue-loader/lib/plugin')

//向外暴露配置对象
module.exports = {
    //入口文件
    entry: path.join(__dirname, './src/main.js'),
    //出口文件
    output:{
        path: path.join(__dirname,'./dist'),
        filename: 'bundle.js'
    },
    // 第三步 在配置插件的节点中配置
    plugins:[
        new htmlWebpackPlugin({
            //指定模板页面根据指定路径 ，去生成内存中的页面
            template: path.join(__dirname,'./src/index.html'), 
            // 内存中页面的名称
            filename: 'index.html'
        }),
        //new VueLoaderPlugin(),
    ],
    //这个节点第三方加载器
    module:{
        rules:[ //所有第三方加载器匹配规则
            //test 是一个正则表达式 .要转义加\  ,use 是使用 第三方加载器
            {test:/\.css$/,use:['style-loader','css-loader']},
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},
            {test:/\.scss$/,use:['style-loader','css-loader','sass-loader']},
            // limit值大于图片的大小，就表示转成base64,name参数表示名字和原本一样
            {test:/\.(jpg|png|gif|bmp|jpeg)$/,use:'url-loader?limit=123&name=[hash:8]-[name].[ext]'},

            //字体文件
            {test:/\.(ttf|eot|svg|woff|woff2)$/,use:'url-loader'},

            //ES6类新语法
            {test:/.\js$/,use:'babel-loader',exclude:/node_modules/},

            //vue
            {test:/\.vue$/,use:'vue-loader'}
        ]
    },
    // resolve:{
    //     alias:{
    //         "vue$":"vue/dist/vue.js"
    //     }
    // }
   

    // devServer:{
    //   proxy: {
    //     // change xxx-api/login => mock/login
    //     // detail: https://cli.vuejs.org/config/#devserver-proxy
    //     '/tb': {
    //       target: `http://suggest-follow-api-ms.juejin.im/v1/getByTag`,
    //       changeOrigin: true,
    //       pathRewrite: {
    //         '^tb':'/tb'
    //       }
    //     }
    //   }
    // }
      

}